Network scanning system

ABSTRACT

An image scanner device connected to a general information processing apparatus can be used on a network at a low cost, and further, the firmware of hardware for this purpose can be a maintenance-free firmware, thus user&#39;s convenience can be improved. A scanner/network connection apparatus  100  to connect a scanner  200  to a network  300  has an LCD server to drive a LCD as a display unit, a touch panel task to transmit a touch position on a touch panel, and a SCSI server to connect the scanner  200  to the network. A PC  500  to control the scanner has a virtual LCD driver, a virtual touch panel driver, and a virtual SCSI driver, operating to provide an environment as if the LCD, the touch panel and the image scanner of the scanner/network connection apparatus  100  are connected to the PC  500 . The virtual LCD driver draws a screen image as a user interface for various operations, and the result of drawing is displayed on the LCD of the scanner/network connection apparatus  100 . Thus an interactive operation environment can be provided to the user.

This application is a continuation application of application Ser. No.10/714,953, filed on Nov. 18, 2003 (pending).

FIELD OF THE INVENTION

The present invention relates to a technique of connecting an imagescanner device to a network.

BACKGROUND OF THE INVENTION

Generally, an image scanner device is connected to a general informationprocessing apparatus such as a personal computer or a work station(hereinbelow, generally referred to as a “PC”) via a SCSI (SmallComputer System Interface) or a USB (Universal Serial Bus) interface.

As applications of the image scanner device, optical characterrecognition (OCR), filing and other various applications are known. Inrecent years, the variety of uses for the image scanner device such asgeneration of attachment to an electronic mail is further increased.

On the other hand, in workplaces, employees respectively use one PC, andthe PCs are connected to a network to share network resources (files,printers etc.). As it is desirable that the image scanner device canalso be shared on the network, several network-connectable scannerdevices (generally many of them have a complex machine form) are known,however, such devices are very expensive.

As a response to the requirement, Japanese Published Unexamined PatentApplication No. 2001-285560 discloses a device for connection between animage scanner device having a SCSI interface to a network, a scan box,provided between the scanner device and the network. The scan boxcommunicates with an application which operates on a particular PC onthe network. Then the content of operation on the scan box side (e.g.,notification of depression of start button) is notified to the PC, thenjob information specific to an operator is received from the PC. Then, aread image is transferred to a file server and stored there inaccordance with the received job information.

According to the technique disclosed in the above patent document, theexisting image scanner device can be connected to the network via thescan box, however, as the scan box is controlled by the particularapplication which operates on the PC, the scanner connected to the scanbox can be utilized by the particular application but cannot be utilizedby a general application such as a graphic application.

Further, this technique of enabling connection between an existing imagescanner to a network via the scan box has the following problems.

The scan box is desirably provided with various switches, for example,such as a start button and a scroll button. Therefore, a CPU in the scanbox must perform processing in correspondence to each button operation.That is, the processing by the CPU cannot be simplified. Further, inaccordance with scanner type, the firmware stored in an internal ROM ofthe scanner must be updated.

SUMMARY OF THE INVENTION

The present invention has been made to solve the above problems, andprovides a technique for enabling use of image scanner device, which isconnected to a general information processing apparatus, on a network ata low cost, and further, for improvement of user's convenience byrealizing maintenance-free firmware in hardware for use of the scannerdevice on the network.

Further, the present invention provides a technique for enabling use ofimage scanner device, which is connected to a general informationprocessing apparatus, on a network at a low cost, and further, forenabling use of remote scanner without any substantial change in anexisting application to use the image scanner.

According to the present invention, the foregoing objects are attainedby providing a network scanning system having: a connection apparatusincluding a scanner interface and a network interface, which areconnected to a scanner device connected to a general informationprocessing apparatus, so as to cause the scanner device to function as anetwork scanner device; and a control apparatus to control theconnection apparatus via a network, wherein the connection apparatuscomprising: standard input/output means for receiving bitmap image datagenerated by drawing processing in the control apparatus via the networkinterface then displaying the bitmap image data on a predetermineddisplay unit, and outputting an input into a predetermined instructioninput unit from a user to the control apparatus via the networkinterface; and scanner communication means for receiving an instructioncommand to the scanner device issued by the control apparatus via thenetwork interface then outputting the command to the scanner interface,and transmitting data received via the scanner interface to the controlapparatus via the network interface, and wherein the control apparatuscomprising: virtual standard input/output means for transmitting bitmapimage data drawn in accordance with a request from a scanner controlapplication to the standard input/output means of the connectionapparatus, and notifying the application of an input from the standardinput/output means, thereby causing the standard input/output means ofthe connection apparatus to function as a virtual standard input/outputdevice of the control apparatus; and virtual scanner communication meansfor transmitting a request command from a scanner driver for the scannerdevice to the scanner communication means of the connection apparatus,and outputting information from the scanner communication means to thescanner driver, thereby causing the scanner device connected to theconnection apparatus to function as a scanner device virtually connectedto the control apparatus.

Other features and advantages of the present invention will be apparentfrom the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame name or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

FIG. 1 a conceptual diagram of a computer network to which a firstembodiment of the present invention is applied;

FIG. 2 is a block diagram showing the constructions of a scanner/networkconnection apparatus and a scanner control PC according to the firstembodiment;

FIG. 3 is a block diagram showing layer structures of thescanner/network connection apparatus and a computer program for thescanner control PC according to the first embodiment;

FIG. 4 is a flowchart showing a processing procedure upon power-up ofthe scanner/network connection apparatus according to the firstembodiment;

FIG. 5 is a flowchart showing a processing procedure by an LCD serverwhich operates on the scanner/network connection apparatus according tothe first embodiment;

FIG. 6 is a flowchart showing the details of step S16 in FIG. 5;

FIG. 7 is a flowchart showing a processing procedure by a SCSI serverwhich operates on the scanner/network connection apparatus according tothe first embodiment;

FIG. 8 is a flowchart showing a processing procedure by a touch paneltask which operates on the scanner/network connection apparatusaccording to the first embodiment;

FIG. 9 is a flowchart showing the content of processing by a scanningapplication which operates on the scanner control PC according to thefirst embodiment;

FIG. 10 is an example of initial screen image displayed on an LCD of thescanner/network connection apparatus according to the first embodiment;

FIG. 11 is an example of a screen image on the scanner control PC forinputting an IP address of the scanner/network connection apparatusaccording to the first embodiment;

FIGS. 12 to 38 are examples of screen images on the scanner/networkconnection apparatus according to the first embodiment;

FIG. 39 is a flowchart showing the details of step S58 in FIG. 9;

FIG. 40 is a flowchart showing a processing procedure upon power-up ofthe scanner/network connection apparatus according to a secondembodiment of the present invention;

FIG. 41 is a flowchart showing a processing procedure by an animationtask according to the second embodiment;

FIG. 42 is a flowchart showing a processing procedure by the LCD serveraccording to the second embodiment;

FIGS. 43 and 44 are examples of a screen image in course of originalreading by the animation processing according to the second embodiment;and

FIG. 45 is an example of a table generated in the animation processing.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will now be described indetail in accordance with the accompanying drawings.

First Embodiment Entire System

FIG. 1 illustrates the form of a system utilizing a scanner/networkconnection apparatus according to a first embodiment of the presentinvention.

In FIG. 1, reference numeral 100 denotes a scanner/network connectionapparatus having a network interface and a SCSI interface; 200, an imagescanner device (hereinbelow, simply referred to as a “scanner” having aSCSI interface; 300, a local area network (hereinbelow, simply referredto as a “network”) such as an Ethernet; 401 to 405, personal computers(PCs) connected to the network 300 used by respective users; and 500, acontrol PC which manages and remote-controls the scanner/networkconnection apparatus 100. Note that there is no hardware differencebetween the control PC 500 and the PCs 401 to 405, but the difference iswhether or not an application to control the scanner/network connectionapparatus and various driver programs to be described later operate.Further, as it will be apparent from a description to be made later, thecontrol PC 500 is used by an administrator, and the existence of thecontrol PC 500 is not necessarily known by the users of the PCs 401 to405. Note that in FIG. 1, as the PCs for general users, the 5 PCs 401 to405 are shown, but the present invention is not limited to this number.Further, in FIG. 1, various servers, a router, printers provided on thenetwork are shown, however, as these devices are well known,explanations of the devices will be omitted. Note that in the presentembodiment, as a protocol for the network 300, TCP/IP is utilized.However, any other protocol may be used as long as it can realize thefollowing functions.

<Scanner Control PC and Scanner/Network Connection Apparatus>

FIG. 2 is a block diagram showing the constructions of thescanner/network connection apparatus 100, the scanner 200, the network300 and the scanner control PC 500.

The hardware construction of the scanner control PC 500 which is not sodifferent from that of a general PC, will be described.

In FIG. 2, numeral 501 denotes a CPU which controls the entireapparatus; 502, a ROM in which a boot program, a BIOS and the like arestored; 503, a RAM in which an OS or an application executed by the CPU501 is loaded, or which is used as a work area; 504, a keyboard; 505, apointing device such as a mouse (trademark); 506, a network interfacefor connection with the network 300; 507, a display controller having agraphic engine processor and a video memory; 508, a display unit such asa CRT; and 509, a hard disk unit in which the OS, a scanning applicationaccording to the embodiment, and further, an image, are temporarilystored. Note that any OS may be employed, but in this embodiment,Windows® provided by Microsoft Corporation is used. The details of thescanning application will be described later.

On the other hand, the scanner/network connection apparatus 100 has thefollowing construction. Numeral 101 denotes a CPU which controls theentire apparatus (in this CPU, a high-speed capability as in the case ofa general PC is not required); 102, a ROM in which a program as aprocessing procedure (firmware) is stored; 103, a RAM used as a workarea; 104, a touch panel; 105, a liquid crystal display controller; and106, a liquid crystal display unit. In the present embodiment, the touchpanel is a pressure-sensitive type panel having a transparent sheet, andis provided in front of the liquid crystal display (LCD) unit 106. Notethat the coordinate detection system is not limited to this type oftouch panel, but any other system can be used. Further, the LCD 106 ofthe present embodiment has a 320×200 dot display capability as asufficient resolution to function as a user interface of the scanner200, and the LCD handles a binary display image. Numeral 107 denotes anetwork interface; and 108, a SCSI interface. As the image scanner 200is an existing scanner device having a SCSI interface, the details ofthe scanner will be omitted.

FIG. 3 shows layer structures of the scanner control PC 500 and thescanner/network connection apparatus 100 in FIG. 2 from the point ofsoftware.

A network driver and a scanner driver operate on the scanner control PC500. The network driver is provided by a maker/seller of the networkinterface 506 or is a driver supported by the OS. Further, the scannerdriver is provided by a maker of the scanner 200 such as a TWAIN driver.The feature of the present embodiment resides in a virtual LCD driver551, a virtual touch panel driver 552 and a virtual SCSI driver 553.

The virtual LCD driver 551 operates as if the LCD 106 and the LCDcontroller 105 of the remote scanner/network connection apparatus 100are connected as hardware to the local scanner control PC 500. Also, thevirtual touch panel driver 552 operates as if the touch panel 104 of thescanner/network connection apparatus 100 is connected as hardware to thelocal scanner control PC 500. Further, the virtual SCSI driver 553operates as if the SCSI interface 108 of the scanner/network connectionapparatus 100 is connected as hardware to the local scanner control PC500.

That is, the three virtual drivers cause the hardware resources of theremote scanner/network connection apparatus 100 to operate as if theyoperate on the local scanner control PC 500. More specifically, by thevirtual LCD driver 551 and the virtual touch panel driver 552, astandard input/output device (in the field of computer technology, alsoreferred to as a “console” which collectively means a display device andan input device to receive an input from a user) operates as if it isconnected to the scanner control PC 500, and by the virtual SCSI driver,the SCSI interface (card) operates as if it is connected to the scannercontrol PC 500.

On the other hand, a network driver 154 as firmware operates on thescanner/network connection apparatus 100, and an LCD server 151, a touchpanel task 152 and a SCSI server 153 operate in a higher layer.

In the above construction, the virtual LCD driver 551 in the scannercontrol PC 500 and the LCD server 151 in the scanner/network connectionapparatus 100 in cooperation realize image display on the LCD 151 of thescanner/network connection apparatus 100. Accordingly, as the format ofdata outputted from the virtual LCD driver 551 of the scanner control PC500 to the scanner/network connection apparatus 100, an identificationcode, display coordinate position (x, y) at the upper-left corner of arectangular image to be displayed, a width W and a height H as therectangle size, and an actual bit stream (1 pixel-1 bit binary imagedata) are used.

Further, the virtual touch panel driver 552 in the scanner control PC500 and the touch panel task 152 in the scanner/network connectionapparatus 100 in cooperation detect a touch coordinate position (x, y)by the user on the touch panel 104 of the scanner/network connectionapparatus 100 and notify the position to the higher layer. As the dataflows from the touch panel task 152 to the touch panel driver 552, thetouch panel task 152 works as a client, and the touch panel driver 552,as a server.

Then, the virtual SCSI driver 553 in the scanner control PC 500 and theSCSI server 153 in the scanner/network connection apparatus 100 work incooperation. That is, when a request command is received from thescanner driver of the scanner control PC, the virtual SCSI server 553transmits the request command to the scanner/network connectionapparatus 100. The scanner/network connection apparatus 100 receives thecommand, then outputs the command via the SCSI server 153 to the scanner200. Further, data outputted from the scanner 200 (including read imagedata) can be supplied, in a reverse way, to an application whichoperates on the scanner control PC.

In this manner, briefly 3 types of data are handled between the scannercontrol PC 500 and the scanner/network connection apparatus 100.Accordingly, is it necessary to discriminate the respective types ofdata. In the present embodiment, the problem is solved by using a portnumber indicating a logic. That is, a transmission destination IPaddress and a sender IP address are added to a header of a packet to betransmitted onto the network, and further, regarding data on display, aport number P1, or regarding touch panel coordinate data, a port numberP2, or data on SCSI, a port number P3, is added to the header. Theallocation of port number is performed by the respective networkdrivers. Note that generally, in TCP/IP communication, the client sidedesignates a port number to access the server. In other words, theclient side must use a port number opened on the server side.

As shown in FIG. 3, the scanner/network connection apparatus 100 hasspecialized hardware, and the LCD server 151 and the SCSI server 153operating there functions as servers. Accordingly, the ports P1 and P3can be fixedly used by these two servers. That is, the virtual LCDdriver and the virtual SCSI driver of the scanner control PC 500 canperform communication on the presumption that the ports P1 and P3 of theIP address of the scanner/network connection apparatus 100 are open.

On the other hand, in communication of touch panel coordinate positioninformation, the virtual touch panel driver 552 which operates on thescanner control PC 500 side is the receiving side, i.e., a server. Asdescribed above, since the scanner control PC 500 of the presentembodiment is realized with a general information processing apparatussuch as a personal computer, there is no limitation on applicationsrunning on the PC. Port numbers of TCP/IP protocol can be freely used byrespective applications, and ports used by other applications cannot beused for touch panel data communication. That is, when the virtual touchpanel driver 552 operates, it searches for an available port and usesit.

Accordingly, unless the touch panel task 152 in the scanner/networkconnection apparatus 100 obtains the port number used by the virtualtouch panel driver, the touch coordinate position information cannot benotified to the scanner control PC 500. In the present embodiment, thescanner control PC 500 notifies a port number P2 (a port numberavailable for the scanner control PC 500) used by the touch panel task152, in a command format discriminative from data to be displayed, tothe LCD server 151 (or the SCSI server 153) using the fixed port P1.

<Processing in Scanner/Network Connection Apparatus>

Hereinbelow, a processing procedure in the scanner/network connectionapparatus 100 according to the present embodiment will be described.

FIG. 4 shows initial processing in the scanner/network connectionapparatus 100.

When the power is turned on, initialization processing is performed. Theinitialization processing includes initialization of the networkinterface 107 and driving of the network driver 154. The network driver154 monitors packets on the network 300 and captures a packet with an IPaddress (registered in a nonvolatile memory (not shown)) allocated tothe apparatus, and transmits a packet onto the network. Note that theregistration of IP address may be made by setting a fixed address from asetting menu (not shown) of the scanner/network connection apparatus 100or by performing setting the apparatus as a DHCP (Dynamic HostConfiguration Protocol) client.

Next, at step S2, the LCD server task 151 is generated and started (thedetails are shown in FIGS. 5 and 6). Then at steps S3 and S4, the touchpanel task 152 and the SCSI server task 153 are generated and started(the details are shown in FIGS. 7 and 8). Thereafter, a multi task isenabled such that these processings operate as a multi task (step S5).

In this manner, processings by the LCD server 151, the touch panel task152 and the SCSI server 153 are started. Next, the respectiveprocessings will be described.

The LCD server 151 performs processing in accordance with the followingprocessing procedure as show in FIG. 5.

First, at step S11, the LCD controller 105 is initialized. At step S12,a screen image indicating that access from the scanner control PC 500 iswaited is displayed. This screen image is as shown in FIG. 10. As theimage in FIG. 10 indicates a status prior to access from the scannercontrol PC 500, the scanner/network connection apparatus 100 sidedisplays the image. Further, at this time, an IP address allocated tothe network interface 107 of the scanner/network connection apparatus100 is also displayed. As a result, even when the scanner/networkconnection apparatus 100 is connected as a DHCP client to the network300, the IP can be easily discriminated.

Next, at step S13, access from the scanner control PC 500 is waited bymonitoring the port P1.

When connection has been established, the process proceeds to step S14,at which it is determined whether or not a command has been received. Ifa command has been received, the process proceeds to step S16, at whichprocessing corresponding to the command is performed (the details willbe described in FIG. 6). On the other hand, if disconnection is notified(in the scanner control PC 500, when the scanning application has beenterminated), the process proceeds to step S12, at which the nextconnection request is waited.

FIG. 6 shows the details of the above step S16.

At step S21, it is determined whether or not reception of bitmap data isperformed. If it is determined that reception of bitmap data isperformed, the following bitmap data is outputted to the LCD controller105 based on the upper-left corner coordinate position and width andheight information, thereby an image is displayed on the LCD 106. In theLCD 106, as the number of display pixels is 320×200, and a binary imageis displayed, the maximum image size is 320×200 bits=64000 bits.Considering that a general network band is about 10 Mbps to 100 Mbps,the load on the network is very small and the response upon update ofscreen image is not degraded.

The LCD server 151 has the above sufficient function, however, since itis to determine a port of the scanner control PC necessary for the touchpanel task upon transmission, the LCD server 151 controls thedetermination of the port and enables/disables the touch panel.

For this purpose, at step S23, it is determined whether or not a touchpanel start command has been received. If the touch panel start commandhas been received, a port for transmission of touch panel coordinateincluded in the command is obtained then stored in an appropriateposition of the RAM 103, and a touch panel flag indicating that thetouch panel is enabled is turned ON. Note that in this description, thetouch panel port number P2 is included in the touch panel start command,however, the command and the port number may be separately received.

Further, at step S25, it is determined whether or not a touch panel stopcommand has been received. If it is determined that the touch panel stopcommand has been received, the touch panel flag is turned OFF.

The touch panel task will be described later. When the touch panel flagis in an ON state, the touch position coordinate data is outputtedtoward the port P2 of the network address of the scanner/networkconnection apparatus 100.

Next, a process procedure by the SCSI server in the scanner/networkconnection apparatus will be described with reference to the flowchartof FIG. 7.

First, at step S31, the SCSI interface 108 is initialized. Next, at stepS32, access from the scanner control PC 500 is waited.

At step S33, the port P3 is monitored, thereby it is determined whetheror not a command regarding the SCSI has been received from the scannercontrol PC 500. If the command has not been received, the processproceeds to step S34, at which it is determined whether or not adisconnection notification command has been received. If thedisconnection notification command has been received, the processreturns to step S32, otherwise, returns to step S33.

On the other hand, if it is determined that the command regarding theSCSI (except the disconnection command) has been received, the processproceeds to step S35, at which the received SCSI command is executed.That is, the SCSI interface 108 is caused to perform command processing.As a result, a response is returned from the scanner 200 connected tothe SCSI interface 108, then the response is received, and the receiveddata is outputted toward the port P3 of the scanner control PC.

As described above, the processing by the SCSI server 153 is simplycausing the SCSI interface 108 to perform the SCSI command received fromthe network and notifying the result of SCSI command processing returnedfrom the SCSI interface 108 (including data obtained by reading anoriginal) to the scanner control PC 500.

Generally, a device connected to a SCSI interface (in the case of 8-bitdata bus) has an ID of 0 to 6 (ID=7 is often allocated to the Host SCSIinterface). Further, at an initial stage, scanning for the respectiveIDs is performed on the SCSI interface to detect whether or not a devicewith any one of the IDs is connected to the interface. If a device withone of the IDs is connected to the interface, the device is detected,then result of detection is held by an OS, and thereafter, communicationwith the SCSI device is performed using the ID.

Also, in the present embodiment, as the virtual SCSI driver and the SCSIserver of the scanner control PC 500 perform similar processing, theSCSI device connected to the SCSI interface is detected on the scannercontrol PC 500 side. In other words, in the SCSI server 153 of thepresent embodiment, the ID of the connected scanner 200 is notnecessary.

Next, a processing procedure by the touch panel task 152 in thescanner/network connection apparatus 100 will be described withreference to the flowchart of FIG. 8.

First, at step S41, initialization processing is performed. Next, atstep S42, it is determined whether or not the user's panel-touch inputto the touch panel 104 has been changed, and the change has been waited.Note that the change in touch input means a change by depression of thetouch panel from a non-contact state and a change by release of thedepressed state. In the case of the latter change, insignificantcoordinate data or data with attribute information as to whether or notthe panel has been touched may be transmitted.

If it is determined that the touch input has been changed, the processproceeds to step S43, at which it is determined whether or not the touchpanel flag is ON. As described above, the touch panel ON/OFF control ismade by the LCD server 151. If it is determined that the touch input hasbeen changed and the touch panel flag is ON, the touch coordinate data(it can be discriminated whether the panel has been touched or a touchedstate has been released) is outputted to the port P2 of the scannercontrol PC 500 stored at step S24 in FIG. 6.

The processing in the scanner/network connection apparatus 100 accordingto the present embodiment is as described above.

<Scanning Application>

Next, the scanning application which operates on the scanner control PC500 will be described.

Note that in the following description, terms “to display”, “touchinput”, “image input” and the like mean processing from the viewpoint ofthe scanning application side. For example, display processing by thescanning application is performed on the virtual LCD driver 551. Thevirtual LCD driver 551 generates bitmap data in accordance with therequest, then transmits the data to the port P1 of the IP address of thescanner/network connection apparatus 100, to display an image on theremote LCD 106. The “touch input” and the “image input” (readinginstruction to the scanner) mean processings performed in a similarmanner.

FIG. 9 is a flowchart showing the content of processing by the scanningapplication.

The scanning application is stored in the hard disk 509 of the scannercontrol PC 500. The application is started by the user or automaticallystarted in accordance with start of the PC.

First, at step S51, connection with the scanner/network connectionapparatus 100 via the network 300 is established. The connectionprocessing includes processing of establishing connection with the portsP1 and P3 of the IP address of the scanner/network connection apparatus100 and processing of searching for a port P2 available for touch datareception and notifying the port (touch panel flag ON command).

Next, at step S52, image display processing for display on the LCD 106is performed, then at step S53, a touch input is performed, and at stepS55, processing corresponding to the touch input is performed. Theprocessing at steps S52, S53 and S55 is repeated, thereby the user'sinput and a response screen image to the user's input are sequentiallyupdated in the scanner/network connection apparatus 100. When the screenimage has been changed, processing of drawing an image corresponding tothe change is performed at step S52, and the user performs an input incorrespondence with the image. Note that in the scanning application,when touch-input coordinate information is obtained, as the screen imagedisplayed immediately before the touch input is known, i.e., coordinatepositions of the various buttons to be operated by the user are known,the content of designation by the touch coordinate information isalready known. Further, as a rule, processing on the button touched bythe user is performed when the touched state has become an untouchedstate. When an untouched state has become a touched state, a highlightedimage of the touched button or the like is transferred.

Further, as it will be apparent from the following description, in theloop of the above steps S52, S53 and S55, the user's various settingsare registered.

The user performs various settings while processing of updating thescreen image is performed in accordance with necessity. Finally, if itis determined that coordinate information corresponding to a scan startinstruction has been received, the process proceeds from step S54 tostep S56, at which the scanner driver is instructed to perform reading.As a result, the virtual SCSI driver 553 sends the instruction commandto the port P3 of the IP address of the scanner/network connectionapparatus 100, to start scanning. Then, image data obtained by readingan original is sent from the scanner/network connection apparatus 100.The virtual SCSI driver 553 outputs the data to the scanner driver, thusthe data is finally delivered to the scanning application (step S57).

When the reception of read image data has been completed, the scanningapplication performs post processing on the image data in accordancewith the setting made in the previous setting processing (the loop ofsteps S52, S53 and S55).

In the present embodiment, as the post processing, the followingprocessings are realized.

1. storage of read image into a desired file server (designated by theuser) and setting of storage file format

2. facsimile transmission (transfer to a facsimile server)

3. transmission as an attachment file of electronic mail

4. FTP transfer to a server and setting of storage file format

5. printing from a desired printer server

6. combined processings of 1 to 5

These processings will be described later.

Further, in FIG. 9, if termination of the scanning application isinstructed (the instruction is made on the scanner control PC 500),disconnection processing (including a touch panel flag OFF command) isperformed at step S59, and the present processing ends. Note that thescanning application may always be in operating condition.

Next, for understanding of particular contents of the processing by thescanning application, a description will be made with reference to FIGS.10 to 38.

FIG. 10 illustrates a screen image displayed on the LCD 106 of thescanner/network connection apparatus 100 prior to the start of thescanning application on the scanner control PC 500.

When the scanning application is started, connection is established asdescribed above, however, in a case where the scanning application isfirst installed in the scanner control PC 500 and is started, as the IPaddress of the scanner/network connection apparatus 100 is unknown, animage as shown in FIG. 11 is displayed on the scanner control PC 500such that the IP address of the scanner/network connection apparatus 100is inputted and registered. The registration is made by storing the IPaddress in a HDD or the like, and the input of the IP address is notrequired from the next start of the scanning application.

When the connection has been established, the scanning applicationcauses the virtual LCD driver 551 to draw an image as shown in FIG. 12to display an initial image on the LCD 106 of the scanner/networkconnection apparatus 100. As shown in FIG. 12, as the image is to bedisplayed on the entire screen of the LCD 106, the virtual LCD driver551 draws an image of display position (0, 0), having a size of 320(width)×200 (height), and transmits the bitmap image toward the port P1of the IP address of the scanner/network connection apparatus 100 (thisoperation corresponds to step S52 in FIG. 9).

In FIG. 12, the user touches one of a name “Guest” (a name of generalunspecified user), a user name “Jam” or a user name “staff”. Forexample, if the user touches the name “Guest”, the coordinate positioninformation is notified to the scanner control PC 500 (this operationcorresponds to step S53 in FIG. 9). As a result, the scanningapplication detects the name based on the coordinate data, andtemporarily stores the content of the selection on the RAM 503 (thisoperation corresponds to step S55 in FIG. 9).

Then, to notify that the “Guest” has been touched, a highlight image ofthe portion (inverted image) is generated, and the virtual LCD driver551 is instructed to display the image. Further, as the selection of alog in user name has been made, to indicate that a “log on” buttonfunctions, the “log on” button is also displayed by the virtual LCDdriver 551. The virtual LCD driver 551 transmits the bitmap image to bedisplayed toward the port P1 of the scanner/network connection apparatus100, thereby updates the display screen image (this operationcorresponds to step S52 in FIG. 9).

As a result, the LCD 106 of the scanner/network connection apparatus 100is updated from the image as shown in FIG. 12 to an image as shown inFIG. 13.

Hereinbelow, a description will be briefly made about a case wherecommunication is similarly performed between the scanner control PC 500and the scanner/network connection apparatus 100.

In the image as shown in FIG. 13, when the “log on” button is touched,an image as shown in FIG. 14 is displayed in the LCD 106. FIG. 14 showsan image for setting an output destination upon reading of an originalimage set on the scanner 200. Basically, when this image is displayed,to determine a transmission destination, a “destination list” istouched, thereby a list of destinations is displayed, and necessarydestination(s) is sequentially selected.

Note that as it is understood from display “200 dpi” in FIG. 14, thedefault reading resolution is 200 dpi. To change the resolution, thedisplay portion is touched, thereby an image as shown in FIG. 15 isdisplayed (a front window image is drawn and its position and size andbitmap data are transferred).

Further, in FIG. 14, if a “gray (monochrome 256 level)” button istouched, a reading mode designation image as shown in FIG. 16 isdisplayed. If an “A4” button is touched, an original size designationwindow as shown in FIG. 17 is displayed. Further, if a “single side”button is touched, a single side/both sides selection window as shown inFIG. 18 is displayed. In the windows as shown in FIGS. 15 to 18, adesired item is touched and an “OK” button is touched, and an imagesimilar to the image as shown in FIG. 14, reflecting the result ofselection, is displayed.

Generally, an application or the like makes an inquiry about a readingresolution, a reading original size and further a reading mode(monochrome binary, monochrome multilevel, color multilevel etc.) asreading levels, to a scanner driver attached to a scanner (generallyinstalled from a CD-ROM), and a response is returned from the scannerdriver. The images as shown in FIGS. 15 to 18 are drawn based on suchdata obtained from the driver of the scanner 200 of the presentembodiment. In other words, the display images as shown in FIGS. 15 to18 are determined based on functions which can be selected in accordancewith the combination of the scanner 200 and the scanner driver.

Further, regarding the designation of reading mode, two processingmethods for performing error diffusion on an original image and readingthe image are known. In one method, the scanner itself has variousreading modes and reading of an original is performed in one of the modein correspondence with a mode designation command. In the other method,the scanner reads a multilevel image in the same resolution, and thescanner driver performs resolution conversion or the like.

In the former combination of the scanner and the scanner driver, whenthe reading mode is designated from the scanning application, thescanner driver outputs the SCSI command to the virtual SCSI driver 553.As a result, the SCSI server of the scanner/network connection apparatus100 outputs the command to the scanner connected to the apparatus.

Further, in the latter case, as the scanner driver performs processingby itself, a command corresponding to a set mode is not outputted to thevirtual SCSI driver.

That is, as long as the combination of the scanner 200 and the scannerdriver is proper, an unknown command is not issued to the scanner 200.Accordingly, it can be easily understood that the virtual SCSI driver ofthe present embodiment substantially does not select actually-usedscanner and scanner driver, and that, even if a new single scannerdevice is introduced, the scanner can be utilized as a network scanner.

In the image in FIG. 14 (or when the various settings have been made inthe image in FIG. 14, the selected destination is displayed), if the“destination list” is touched, the scanning application refers to anaddress book for the “Guest” in the HDD 599 since the designated log-onuser is “Guest” in the scanner control PC 500, and displays an image asshown in FIG. 19 to display a registered list of destinations by usingthe virtual LCD driver.

As shown in FIG. 19, an image of destination list is displayed. Theimage of destination list shows a destination list, a destination searchbutton (of a magnifying glass icon), an edit button foraddition/deletion of destination, a scroll button, a close button andthe like.

In FIG. 19, 4 destinations are displayed in the area of the destinationlist since 4 destinations are registered in the address book of the user“Guest”. A combo box button “all” is used for designation ofdestinations by category. For example, in the case of facsimiletransmission, if this button is touched and facsimile transmission isselected, only destinations registered for facsimile transmission aredisplayed. In FIG. 19, as “all” is selected, the registered destinationsof all categories are displayed.

Further, if a “MENU” button is touched, an image as shown in FIG. 20 isdisplayed for editing the address book of the log-on user at that time(in this case, the address book of the user “Guest”). In FIG. 20, theimage has a “register” button for registration of a new address, an“edit” button for editing a registered destination, a “delete” buttonfor deletion of a registered destination, and a “close” buttonindicating termination.

In FIG. 20, if the “register” button is touched, an image as shown inFIG. 21 is displayed. In the present embodiment, as an imagetransmission method, “facsimile”, “mail”, “PC (file server)”, “printer”or “group” can be designated. Note that “group” means transmission toplural destinations like facsimile broadcast transmission, however, inthe “group” transmission, transmission can be performed even ifcategories are mixed.

If the “PC” button is touched, an image as shown in FIG. 22 isdisplayed, and a display name and a pass name on the network of thedestination are inputted in the image.

When a “display name” button is touched, as a keyboard image as shown inFIG. 23 is displayed, desired key-inputs are sequentially made. Uponeach key input, an input letter is displayed in a cursor position, as aresult of drawing of a character image in the corresponding position inthe display field. As a character image is at most several 10×10 dots insize, the amount of information transferred by the virtual LCD driver isvery small and a sufficient response to a touch input can be obtained.That is, an operation environment as if the processing is made withinthe scanner/network connection apparatus 100 can be provided to theuser.

FIG. 24 shows an example where “Aoki ToDo” is inputted as a display nameto be registered. If the user makes a mistake or wants to insert aletter, a cursor movement button and a backspace buttons can be used.Further, if a “shift” button is touched, each displayed letter ischanged to a capital letter (an image of capital letter is drawn). Inthe scanner control PC 500, upon each key-input using the virtualkeyboard, the depressed key is determined from the coordinate data, andif the key is a letter key, the character code is stored, or if the keyis a correction key or the like, processing to correct a storedcharacter string or the like is performed.

In this manner, when the registration of display name has beencompleted, an “OK” button in FIG. 24 is touched, thereby the characterstring “Aoki ToDo” is inputted in the input field of the display name inFIG. 22 (the scanner control PC can obtain the character string code).

Further, in FIG. 22, if a “path” button is touched, an image as shown inFIG. 25 is displayed. This image is based on information obtained byscanner control PC 500 by browsing file server PCs on the network.Generally, in a network by Microsoft Corporation, as a browse master PCmanages PCs (servers) on the network, the information on the fileservers on the network can be obtained from the browse master.

In FIG. 25, a server as a network pass name of the registered name “AokiToDo” is selected. In a case where a server not displayed in the imageis selected, the scroll button (one of 2 triangular buttons displayed ina upper-right position) is touched such that the image is scrolled and adesired server is found. To the user's eye, the image is scrolled,however, actually, every time the scroll button is touched, the scanningapplication cases the virtual LCD driver 551 to draw a bitmap image inthe area to display the server list, and the result of drawing isdisplayed on the LCD 106.

In this example, a server “Aoki” is selected. When the server “Aoki” istouched, the scanner control PC 500 tries to obtain shared resources ofthe server “Aoki”. The user name at this log-on is the user logged onthe scanner control PC 500. In a case where a log in password is set inthe server “Aoki”, as the server asks password-input, a password inputimage is displayed as shown in FIG. 26. In FIG. 26, a virtual keyboardis displayed, then a password is inputted by key-inputs. As the scannercontrol PC 500 has detected the request for password-input from theserver “Aoki”, a character image “*” is drawn regardless of input letterand displayed on the LCD 106 for protecting respective key-input lettersof the password. Finally, when the password-input has been completed, an“OK” button is touched. If the input password does not correspond withthe password set in the server “Aoki”, the server asks password-inputagain. If the input password corresponds with the set password, a listof shared names set in the server “Aoki” is displayed as shown in FIG.27. when a desired shared name is selected and finally an “OK” button istouched, the setting of newly-registered name and its path is completed.

FIG. 28 shows an image resulted from selection of a shared resource name“ToDo” set in the server “Aoki” and the “OK” button in FIG. 27, i.e.,the result of input in the above-described FIG. 22. As the “OK” buttonis touched, the file-shared resource “¥¥Aoki¥ToDo” is registered as anabbreviated display name “Aoki ToDo” in the address book of the log inuser “Guest” in the scanner/network connection apparatus 100.

The registration of file server is as described above, and further, inthe case of printer server, as the printer server also exists on thenetwork 300, the registration can be performed in a similar manner.However, as “mail”, “facsimile”, “FTP” and the like are categories onthe Internet outside the network 300, the destinations cannot be browsedon the network 300. Next, registration of a mail destination when the“mail” has been touched in the image in FIG. 21 will be described.

In this case, an image as shown in FIG. 29 is displayed for inputting adisplay name and a mail address. A virtual keyboard as shown in FIG. 23is displayed for this purpose. FIG. 30 shows an image when the displayname and mail address have been inputted. If an “OK” button is touched,a new mail destination name “Tanaka Taro” is registered.

As described above, a file server as the destination of read originaldata+its shared name (generally a directory name) and a mail destinationare registered, and when the image of destination list (FIG. 19) isdisplayed, the contents of new registration are reflected in the image(See FIG. 31).

The processing when the “register” has been touched in FIG. 20 is asdescribed above. In FIG. 20, if the “delete” button is touched, theregistered data can be deleted. FIG. 32 shows a deletion image. First, adestination to be deleted is touched, then, an “OK” button is touched,thereby the destination is deleted.

Note that in FIG. 20, if the “edit” button is touched, the list ofregistered destinations is displayed, then a desired destination isselected from the list and the data of the destination can be edited.This processing is conceivable for a person skilled in the art.

The registration of destination and the like has been described asabove. In the above description, the user name upon log-on thescanner/network connection apparatus 100 is “Guest”. In a case whereanother log-on user name is selected, the processing is performed inaccordance with an address book of the user name.

Next, processing in a case where a “transmission setting” button istouched in FIG. 14 will be described.

FIG. 33 shows an image displayed when the “transmission setting” buttonhas been touched. As shown in FIG. 33, a “file name” button, a “fileformat” button and a “mail” button are displayed.

If the “file name” button is touched, a virtual keyboard is displayed asshown in FIG. 34 such that a file name upon storage of original image ina transmission destination (accordingly, the file name is effective whena PC as the transmission destination or FTP is designated) can be set bykey-input. Note that the file name upon actual transmission of imagedata to a designated destination is a “character string of user-inputfile name+input date and time”.

Further, in FIG. 33, if the “mail” button is touched, as in the case ofgeneral mailer software program, an image for input of subject and textis displayed as shown in FIG. 35. As the subject and text are inputtedusing a virtual keyboard displayed when the respective buttons have beentouched, a detailed description of the key-input of the subject and textwill be omitted.

Further, if the “file format” button is touched, an image as shown inFIG. 36 is displayed. As a file format, one of monochrome (binary),grayscale and color formats can be selected. Further, in FIG. 36, as adefault setting, multi TIFF (file format expanded from TIFF format forplural pages) is set as a “monochrome” format, and PDF (file formatproposed by Adobe Systems Incorporated) are set as “gray” and “color”formats. Note that these default file formats can be changed by user(“Guest” in this case).

If the current “monochrome” format is to be changed, a “change” buttonof the “monochrome” is touched. As a result, an image wherepreviously-selected format is inverted as shown in FIG. 37 is displayed.The user can select a desired format and touches an “OK” button, therebychange the “monochrome” format.

Note that once the format has been changed, the result of change isreflected in the next default setting (the scanner control PC 500 storesthe file formats by user).

Further, in FIG. 36, if the “change” button of “color” is touched, animage as shown in FIG. 38 is displayed. The difference from FIG. 37 isthat as a color format is selected, “JPEG” is added. The change is madein a similar manner to that in FIG. 37.

As described above, the setting of reading resolution, the registrationof destination, the file name, the file format, the mail setting and thelike can be freely performed by the user utilizing the user interface ofthe scanner/network connection apparatus 100. In any way, the usertouches one or more desired destinations and touches the “OK” button inthe image as shown in FIG. 19 or FIG. 31, and the destination(s) isdetermined. More specifically, when a destination is touched once, thedestination is inverted for indication of selected state, and when thedestination is touched again, the inverted state is cancelled forindication of unselected state. Accordingly, the user can select one ormore desired destinations.

When the selection of destination has been performed, the selecteddestination(s) is displayed on a space below the “destination” in FIG.14, and the user can check the destination(s) selected by the userhimself/herself.

In the present embodiment, as the transmission destinations,destinations of different categories can be selected. For example,regarding one read original image, a file server is selected as atransmission destination, and further, another destination can beselected as a destination of mail transmission. Further, othertransmission categories, “facsimile”, “printer”, “FTP” and “group” canbe mixedly selected.

As described above, various settings such as reading mode can be made inaccordance with necessity, and the selection of transmission destinationis performed. This processing is performed in the scanner control PC 500on the network 300, more particularly, performed in the loop processingin steps S52, S53 and S55 in FIG. 9.

In a case where the scanning application operating on the scannercontrol PC 500 detects that the destination is displayed in thedestination list field in FIG. 14 and a “scan” button is touched, thescanning application issues notification of the content of setting and areading command to the scanner driver. If the content of settingindicates execution of scanning on the scanner 200 side, the scannerdriver outputs the set command with a scan start command to the virtualSCSI driver 553, while if the content of setting indicates execution ofscanning by the scanner driver itself, the scanner driver outputs thescan start command to the virtual SCSI driver 553. The virtual SCSIdriver 553 transmits the command (including a SCSI-ID of the scanner200) from the scanner driver as higher-layer processing toward the portP3 of the scanner/network connection apparatus 100 via the network 300(this operation corresponds to step S56 in FIG. 9).

The SCSI server 153 in the scanner/network connection apparatus 100receives the command, and executes the command for the SCSI interface108, thereby causes the scanner 200 to perform original reading. As aresult, the SCSI server 153 receives data obtained by image reading viathe SCSI interface 108, and transmits the data toward the port P3 of thescanner control PC 500, i.e., the virtual SCSI driver 553. The virtualSCSI driver 553 transmits the received image data to the scanner driver.The scanner driver performs appropriate processing on the image data (insome cases, the data is passed through the scanner driver without anyprocessing) and forwards the image data to the scanning application. Thescanning application receives the image data and stores the data in atemporary storage area of the HDD 509 (this operation corresponds tostep S57 in FIG. 9).

Thereafter, the scanning application performs transmission of the storedimage in accordance with the contents of settings made in the loopprocessing at steps S52, S53 and S55 (this operation corresponds to stepS58 in FIG. 9).

Hereinbelow, the content of particular processing at step S58 in FIG. 9will be described with reference to the flowchart of FIG. 39.

First, at step S61, the destination information selected in the loopprocessing at steps S52, S53 and S55 in FIG. 9 is sorted by transmissioncategory. For example, for facsimile transmission, destinations offacsimile transmission are grouped. Next, at steps S62 to S66, it isdetermined whether or not there is a destination of facsimiletransmission, mail transmission, transmission to a printer (printing),FTP transmission and transmission to a PC (storage into a file server),and if a destination exists in the respective transmission categories,transmission processing is performed at steps S67 to S71.

For example, upon facsimile transmission (step S67), the image data istransmitted with the destination information (telephone number) to afacsimile server (See FIG. 1). The facsimile server facsimile-transmitsthe received image data to the designated destination. Note that ifplural destinations exist in facsimile transmission, the image data istransmitted to the facsimile server for the respective destinations. Ifthe facsimile server has a broadcast transmission function, it is notnecessary to transmit the image data plural times to the server.

Further, in a case where a facsimile modem is connected to the scannercontrol PC 500 itself, a facsimile service using the facsimile modem isstarted, and the image data is forwarded to the service. In this case,the facsimile server is not necessarily provided independently of thescanner control PC 500.

Upon mail transmission, the image data is converted to MIME(Multipurpose Internet Mail Extensions) format data and sent with thedestination mail address to a mail server. Further, a subject and text,if exist, are also transmitted with the image data. Note that as acommunication protocol from the scanner control PC 500 to the mailserver, SMTP or the like may be employed. The mail server performstransmission via a router or the like in accordance with a well-knownprocedure.

Further, upon print processing, the image data is outputted to a networkprinter. Note that as it is well known, the output is performed via aprinter driver (a driver for the network printer designated by the user)in the scanner control PC 500.

Upon FTP transmission, the image data is transmitted to a designated FTPserver in accordance with the FTP protocol. Further, if the transmissiondestination is a PC (file server), the image data is transmitted to ashared name of the file server. Note that if the transmissiondestination is a FTP server, a mail server, a PC or the like, thedesignated file name is set, and the data is converted to the designatedfile format (PDF or the like) prior to the transmission.

As described above, transmission of image data, obtained by reading anoriginal image, to plural destinations of even mixed transmissioncategories, can be realized by using the image data obtained by theone-time-only original reading. That is, even if plural transmissiondestinations exist and further, even if different transmissioncategories are mixed, the scanner control PC 500 performs arrangement ofthe destinations for different transmission categories. As a result, thescanner 200 performs original reading once.

As described above, according to the present embodiment, thescanner/network connection apparatus 100 as hardware, and the virtualdriver group and the scanning application which operate on a general PC,enable use of an existing general SCSI scanner on a network. Further, asthe construction of the scanner/network connection apparatus 100 is verysimple, the network scanning system can be constructed at a low cost.

Further, as described above, as the firmware which operates on thescanner/network connection apparatus 100 has a minimum number offunctions, it is substantially unnecessary to update the firmware (in acase where the firmware is updated, as a storage may be a mask ROM inplace of a rewritable flash memory or the like, a further low-costapparatus can be provided).

Further, as the destination of transmission of image data obtained byoriginal reading is not limited to a file server, but destinations inmail transmission and facsimile transmission, transmission to a printerand the like can be designated. Accordingly, the procedure of temporarystorage in a file server and operation using a PC in the conventionalart can be omitted.

Further, as the setting for reading can be made and/or changed on thescanner/network connection apparatus 100, the user can provide aninstruction of original image reading and set the reading conditions asa series of operations. Thus an excellent user interface can beprovided.

Further, according to the present embodiment, transmission of anoriginal image can be performed by different categories of transmission,e.g., facsimile transmission and mail transmission. This furtherimproves the user's convenience.

Second Embodiment

In the above embodiment, when an original image is read by the scanner200 and the scanner/network connection apparatus 100 transmits the imagedata to the scanner control PC 500, the CPU 501 of the scanner controlPC 500 expends much CPU power in image data reception and storageprocessing.

This means that during original image reading, it is difficult to updatea display image on the scanner/network connection apparatus 100 from thescanner control PC 500, and if the update is performed, the speed ofimage data transmission may be lowered. Accordingly, to place a highpriority on the image data transmission speed, the display image on theLCD 106 of the scanner/network connection apparatus 100 cannot bechanged. However, to the user of the scanner/network connectionapparatus 100, during transmission of original image data, the screenimage of the LCD 106 is frozen, and the user may feel anxious about theprocessing.

Accordingly, in the second embodiment, the scanner/network connectionapparatus 100 is provided with an animation function of autonomouslychanging plural display images.

The images to be displayed are previously outputted from the scanningapplication of the scanner control PC 500 to the scanner/networkconnection apparatus 100 and stored there, and the scanner control PC500 transmits commands to control the start and end of animation to theapparatus.

Further, the timing of issuance of the animation start command by thescanning application in the scanner control PC 500 is immediately beforethe issuance of the scan start command.

To realize the above processing, processing as follows is performed inthe scanner/network connection apparatus 100.

FIG. 40 is a flowchart showing a processing procedure upon power-up ofthe scanner/network connection apparatus 100 according to the presentembodiment. The flowchart of FIG. 40 is the same as that of FIG. 4except that step S6 for processing related to generation and start ofanimation task is added between steps S4 and S5 and that processing toturn an animation flag (a flag ensured on the RAM 503 to determineenabled/disabled state of animation) OFF is added to the initializationprocessing at step S1.

For example, the animation task is as described in FIG. 41.

First, at step S71, it is determined whether or not the animation flagis ON, and no processing is performed unless the flag is ON.

Further, if it is determined that the animation flag is ON, the processproceeds to step S72, at which a timer value (not shown) is obtained. Atstep S73, it is determined whether or not it has been a predetermined orlonger period of time since a previous image was displayed. If it isdetermined that the predetermined or longer period has elapsed, the nextimage data is read from the RAM 103, and the LCD controller iscontrolled to display the next image.

FIG. 42 is a flowchart showing a processing procedure by the LCD server151 according to the second embodiment.

In FIG. 42, the difference from FIG. 6 is that steps S201 to S206 areadded. That is, processing of storing the animation bitmap data, whenreceived, into the RAM 103 and processing of turning the animation flagON/OFF in correspondence with the animation start/end command areprovided.

On the other hand, regarding the scanning application in the scannercontrol PC 500, it may be arranged such that immediately before step S56in FIG. 9, in response to the user's selection of the scan start button,the scanning application transmits a command indicating animation and(at least two) bitmap images to the scanner/network connection apparatus100 and stores them in the apparatus, and transmits the animation startcommand, and when the image input has been completed at step S57, thescanning application transmits the animation stop command.

FIG. 45 is an example of a table for management of the animation imagesstored in the RAM 103. As shown in FIG. 45, in the table, the bitmapimages are managed with storage pointers (addresses) on the RAM 103, anddisplay time of the respective frames (if a display interval isuniformly the same, this field is unnecessary). As a record subsequentto the last record, NULL data indicating that no more frames exist isstored. Actually, in the case of simple animation, about 2 to 5 framesare prepared, however, elaborate animation can be made. Further, thebitmap images are not necessarily stored in the screen image size. Onlya portion where animation is run (in illustration, a bitmap image withxy coordinates of 100, 120, and width of 50 and height of 70) is stored,thereby the storage size can be reduced.

By this processing, during transmission of image data obtained byoriginal reading to the scanner control PC 500, images as shown in FIGS.43 and 44 are alternately displayed. The animation informs the user ofthe progress of processing.

Note that in the present embodiment, 2 images are alternately displayed,however the number of images is not limited to 2 but may be 3 or more.Further; in the present embodiment, the animation processing is handledequally with the tasks such as the LCD server, however, as the imagechange interval in the animation processing is merely about 2 images/1second, the priority of the animation processing in the multi taskprocessing can be lowered. In some cases, it may be arranged such thatthe animation processing is performed by interruption by 0.5 seconds.

Further, in a case where the scanner 200 is provided with an ADF andplural originals can be read at once, the application transfers only animage indicating a page number each time one original is read, therebythe page currently being read is notified.

Further, a modification of the second embodiment is as follows. When thescanning application has not received touch position information fromthe scanner/network connection apparatus 100 after a lapse ofpredetermined period, image information displayed at that time is saved,and animation bitmap data and the animation start command aretransmitted. Thereafter, when touch coordinate data is received, theanimation stop command is transmitted and the saved image istransmitted. In this manner, when the user does not operate theapparatus, entertaining animation can be presented.

Note that in the embodiments, the scanner connected to thescanner/network connection apparatus 100 has the SCSI interface,however, the scanner may have a USB (Universal Serial Bus) interface orany other interface. For example, in the case of a USB scanner, avirtual USB driver is installed in the scanner control PC 500, and thescanner/network connection apparatus 100 is provided with a USB serverin place of the SCSI server. It can be easily conceived by a personskilled in the art that similar advantages can be obtained in this case.

Further, the user interface of the scanner/network connection apparatus100 is not limited to the LCD (liquid crystal display)+the touch panel,but any other interface may be employed. In such case, drivers andfirmware corresponding to the interface may be prepared. Note that it isnot desirable to provide the scanner/network connection apparatus 100with physical switches and buttons, since marks and characters of thephysical switches and buttons constrain the functions of the apparatus.Accordingly, as in the case of the above embodiments, from the viewpointof user interface, logical (graphical) buttons and the like displayed ona display screen are preferable.

Further, in the embodiments, the purposes of original image reading arefacsimile transmission, mail transmission, transmission to a printer(printing), FTP transmission and storage into a PC, however, the presentinvention is not limited to these purposes. For example, it may bearranged such that OCR processing is performed, and the result ofprocessing is transmitted to a desired destination, otherwise, stored ina filing system.

Further, a general application which performs original image readingfrom a scanner and performs various image editing processings does notuse the virtual LCD driver and the virtual touch panel driver asdescribed in the embodiments, however, the general application can useat least the virtual SCSI driver in the embodiments. That is, it isconceivable that if the virtual SCSI driver is installed, the existingapplication operates the virtual. SCSI driver.

Further, in the embodiments, the scanner/network connection apparatus100 as hardware is necessary, however, its control application (thescanning application) and the virtual drivers are realized by installingprograms in a general information processing apparatus such as apersonal computer. Accordingly, it is apparent that the presentinvention includes these computer programs.

Further, generally, a computer program (an application or a driver) isstored in a computer-readable storage medium such as a CD-ROM andinstalled in a computer when the medium is set in the computer.Accordingly, it is apparent that the present invention includes suchcomputer-readable storage medium within its scope.

As described above, according to the present invention, an image scannerdevice connected to a general information processing apparatus can beutilized on a network at a low cost, and further, firmware of hardwarefor this purpose can be used as maintenance-free firmware. Thus user'sconvenience can be improved.

Further, according to the present invention, an image scanner deviceconnected to a general information processing apparatus can be utilizedon a network at a low cost, and further, an existing application usingthe image scanner can use the remote scanner without any substantialchange.

The present invention is not limited to the above embodiments andvarious changes and, modifications can be made within the spirit andscope of the present invention. Therefore, to appraise the public of thescope of the present invention, the following claims are made.

1. A network scanning system comprising: an image scanning systemincluding a display unit and an image scanning device; and a controlapparatus which is connected to the image scanning system via a networkand includes a scanning application for controlling the image scanningsystem remotely via the network, wherein the scanning application in thecontrol apparatus receives a command from the image scanning system andin response to receiving the command, automatically transmits, to thedisplay unit of the image scanning system via the network without a useroperation of the scanning application in the control apparatus, aselection screen information including items, each of which represent akind of processing for an image of a document to be scanned by the imagescanning system, wherein the image scanning system displays, on thedisplay unit, a selection menu based on the selection screen informationreceived from the scanning application in the control apparatus via thenetwork, and the image scanning system transmits, to the scanningapplication in the control apparatus via the network, a selection iteminformation specifying an item, selected by an operation of a user ofthe display unit, among the items in the selection menu displayed on thedisplay unit, and wherein the scanning application in the controlapparatus, in response to receiving the selection item information fromthe image scanning system, automatically transmits, to the imagescanning system without a user operation of the scanning application inthe control apparatus, a control signal based on the selection iteminformation received from the image scanning system via the network, andthe scanning application in the control apparatus automatically controlsthe image scanning system remotely in accordance with the control signalvia the network.
 2. The network scanning system according to claim 1,wherein the image scanning system transmits an image obtained byscanning a document to the control apparatus via the network.
 3. Thenetwork scanning system according to claim 2, wherein the selectionscreen information includes a plurality of transmission destinations asthe items in the selection menu, and wherein the control apparatustransmits the image received from the image scanning system to atransmission destination or any transmission destinations, designated bythe user, among the plurality of transmission destinations displayed onthe display unit.
 4. The network scanning system according to claim 2,wherein the selection screen information includes a plurality ofdestinations having different transmission categories as the items inthe selection menu, and wherein the control apparatus transmits theimage received from the image scanning system to a transmissiondestination or any transmission destinations, designated by the user,among the plurality of transmission destinations displayed on thedisplay unit.
 5. The network scanning system according to claim 1,wherein the selection screen information includes a plurality ofscanning modes for scanning a document as the items in the selectionmenu.
 6. A method executed in a network scanning system comprising animage scanning system including a display unit and an image scanningdevice, and a control apparatus which is connected to the image scanningsystem via a network and includes a scanning application for controllingthe image scanning system remotely via the network, the methodcomprising: the scanning application in the control apparatus receivinga command from the image scanning system and in response to receivingthe command, automatically transmitting, to the display unit of theimage scanning system via the network without a user operation of thescanning application in the control apparatus, a selection screeninformation including items, each of which represent a kind ofprocessing for an image of a document to be scanned by the imagescanning system; the image scanning system displaying, on the displayunit, a selection menu based on the selection screen informationreceived from the scanning application in the control apparatus via thenetwork, and the image scanning system transmitting, to the scanningapplication in the control apparatus via the network, a selection iteminformation specifying an item, selected by an operation of a user ofthe display unit, among the items in the selection menu displayed on thedisplay unit; and the scanning application in the control apparatus, inresponse to receiving the selection item information from the imagescanning system, automatically transmitting, to the image scanningsystem without a user operation of the scanning application in thecontrol apparatus, a control signal based on the selection iteminformation received from the image scanning system via the network, andthe scanning application in the control apparatus automaticallycontrolling the image scanning system remotely in accordance with thecontrol signal via the network.
 7. A non-transitory computer-readablestorage medium which stores code of a program that, when executed,implements a control method in a network scanning system comprising animage scanning system including a display unit and an image scanningdevice, and a control apparatus which is connected to the image scanningsystem via a network and includes a scanning application for controllingthe network scanning system remotely via the network, the methodcomprising: the scanning application in the control apparatus receivinga command from the image scanning system and in response to receivingthe command, automatically transmitting, to the display unit of theimage scanning system via the network without a user operation of thescanning application in the control apparatus, a selection screeninformation including items, each of which represent a kind ofprocessing for an image of a document to be scanned by the imagescanning system; the image scanning system displaying, on the displayunit, a selection menu based on the selection screen informationreceived from the scanning application in the control apparatus via thenetwork, and the image scanning system transmitting, to the scanningapplication in the control apparatus via the network, a selection iteminformation specifying an item, selected by an operation of a user ofthe display unit, among the items in the selection menu displayed on thedisplay unit; and the scanning application in the control apparatus, inresponse to receiving the selection item information from the imagescanning system, automatically transmitting, to the image scanningsystem without a user operation of the scanning application in thecontrol apparatus, a control signal based on the selection iteminformation received from the image scanning system via the network, andthe scanning application in the control apparatus automaticallycontrolling the image scanning system remotely in accordance with thecontrol signal via the network.
 8. The system according to claim 1,wherein the image scanning system includes a touch-sensitive panel onthe display unit and transmits position information indicating aposition, on the touch-sensitive panel, touched by a user as theselection screen information to the scanning application in the controlapparatus via the network, and wherein the scanning application in thecontrol apparatus determines a processing to be executed based on theposition represented by the selection screen information and positionsrepresenting items included in the selection screen information.